The present invention relates to identification of a particular header field in a magnetic recording device.
In a digital recording system such as a disc drive, data is usually recorded on magnetic discs in the form of sectors. Generally each sector includes a header field where the address and some other format information is recorded, followed by a data field where data information is recorded. In order for a recording device to read or write data information to a particular sector the recording device must first locate the particular sector to be read from or written to. In order to locate the particular sector, the recording device first reads the header field of the sector it is currently accessing and compares that header field with information expected from the header field associated with the target sector (i.e. with the target header).
Recording devices of the prior art also typically use error correction in the reading and writing of both data and header fields. Error correction techniques typically apply a multiple error correcting code, an example of which is the Reed Solomon code. The Reed Solomon code involves the use of redundant data for error correction. If certain redundancy requirements are met, the Reed Solomon code can correct a given number of errors in a data stream for a given amount of redundancy.
Data on a disc is stored in the form of codewords. A codeword is the minimum data unit that is retrieved from the disc. For error correction, each codeword must differ from the next codeword by at least a certain number of bytes. In order to accomplish this, redundant data is added to each codeword to achieve the required minimum difference between codewords. The Reed Solomon code is capable of error correction if the minimum difference between codewords is twice the number of allowable errors plus one. For example, if the minimum difference between codewords is five bytes, the Reed Solomon code is capable of correcting two errors.
Prior methods of error correction involve determining the location and value of errors in order to reconstruct the original data. The complexity of the error correction process increases dramatically as more and more errors per codeword are required to be detected and corrected. Therefore, error correction requires considerable processing, with the processing requirements increasing sharply with increases in the number of errors required to be corrected. This processing requirement demands a compromise. Either a large amount of hardware must be used, a significant amount of processing time must be tolerated, or the system can correct only a smaller number of errors. Therefore, prior methods of error correction for header fields often perform only error checking--determining whether an error exists, without performing any sort of correction if an error does exist. Alternatively, prior methods of error correction for header fields may perform single error correction, correcting no more than one error per codeword.
Recording devices typically use error correction in the reading and writing of data fields. If error correction is important in reading and writing data fields, it is even more important in reading header fields. In a recording device in which no error detection or correction of the header field is used, the header that is received in the readback is compared with the target header to determine if the fields match. If the fields match, it is assumed that the target sector has been found. The read or write operation is then carried out in the data field which follows immediately after the header field. If an uncorrected error occurs in the reading of the header field, data which is intended to be written in one sector is written in another sector. The data which previously existed in the sector that is erroneously written to is destroyed, and the data which is erroneously written to the sector is itself lost.